package com.wy.about_data_share.demo4;

/**
 *有几个r
 * 两个
 * 1.t线程run方法的someObject引用指向的对象中的r
 * 2.主线程的main方法的someObject指向的对象中的r
 * 对象不是同一个对象，所以r有两个
 * 注意:虽然说对象是共享的，但前提是操作的得是同一个数据
 *     如果数据不是同一个，即使是对象也不能说一定共享
 *    只能说，对象是可以被共享，但不是说对象一定被共享
 **/
public class Main {
   static class SomeObject{
       int r=0;
   }
    static class MyThread extends Thread{
        @Override
        public void run() {
            SomeObject someObject=new SomeObject();
            for (int i = 0; i < 1000; i++) {
                someObject.r++;
            }
            System.out.println(getName()+":"+someObject.r);
        }
    }

    public static void main(String[] args) throws InterruptedException {
        SomeObject someObject=new SomeObject();
        MyThread t=new MyThread();
        t.start();
        t.join();
        System.out.println(Thread.currentThread().getName()+":"+someObject.r);
    }
}
